home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 February / Macworld (1999-02).dmg / Games World / SharewareGames / Xconq 7.2.2 / lib / modern.g < prev    next >
Text File  |  1998-05-22  |  8KB  |  334 lines

  1. (game-module "modern"
  2.   (title "Modern Times")
  3.   (blurb "Economics and politics of today's world")
  4.   (variants (see-all true))
  5.   )
  6.  
  7. ;; This could be a variant, but is implausible to have an unseen modern world.
  8. (set terrain-seen true)
  9.  
  10. (unit-type engrs (image-name "engr")
  11.   (help "builders of everything"))
  12.  
  13. (unit-type fishing-fleet (image-name "ap")
  14.   (help "ships that produce food"))
  15. (unit-type cargo-ship (image-name "ap")
  16.   (help "ships that carry materials around"))
  17. (unit-type oil-tanker (image-name "ap")
  18.   (help "ships that carry oil"))
  19.  
  20. (define ship-types (fishing-fleet cargo-ship oil-tanker))
  21.  
  22. (unit-type farm (image-name "barn")
  23.   (help "the main producer of food"))
  24. (unit-type coal-mine (image-name "mine-entrance"))
  25. (unit-type oil-field (image-name "oil-derrick")
  26.   (help "land-based producer of crude oil"))
  27. (unit-type oil-platform (image-name "oil-derrick")
  28.   (help "sea-based producer of crude oil, very expensive"))
  29. (unit-type sawmill (image-name "facility"))
  30. (unit-type iron-mine (image-name "iron-mine"))
  31.  
  32. (define extraction-types (farm oil-field oil-platform sawmill iron-mine))
  33.  
  34. (unit-type refinery (image-name "refinery"))
  35. (unit-type steel-mill (image-name "facility"))
  36.  
  37. (define processing-types (refinery steel-mill))
  38.  
  39. (unit-type shipyard (image-name "facility"))
  40.  
  41. (define manufacturing-types (shipyard))
  42.  
  43. (unit-type base (image-name "airbase"))
  44. (unit-type port (image-name "anchor"))
  45.  
  46. (define base-types (base port))
  47.  
  48. (unit-type town (image-name "town20"))
  49. (unit-type city (image-name "city20"))
  50.  
  51. (define cities (town city))
  52.  
  53. (define place-types
  54.   (append extraction-types processing-types manufacturing-types base-types cities))
  55.  
  56. (material-type food
  57.   (help "what people consume"))
  58. (material-type coal
  59.   (help "rocks that burn"))
  60. (material-type oil
  61.   (help "crude oil from the ground"))
  62. (material-type petrol
  63.   (help "refined petroleum products"))
  64. (material-type lumber
  65.   (help "wooden construction materials"))
  66. (material-type iron-ore
  67.   (help "iron-bearing rock from the ground"))
  68. (material-type steel
  69.   (help "represents refined metal construction materials"))
  70. (material-type people
  71.   (help "represents about 1,000 actual persons"))
  72.  
  73. (include "stdterr")
  74.  
  75. (define water-t* (sea shallows river))
  76.  
  77. ;;; Static relationships.
  78.  
  79. (table vanishes-on
  80.   ;; Fixed places are almost always land-only.
  81.   (place-types water-t* true)
  82.   (place-types ice true)
  83.   ;; Offshore oil platforms are sea-only.
  84.   (oil-platform t* true)
  85.   (oil-platform (sea shallows) false)
  86.   ;; It's possible, if not easy, to build an airbase on an icefield.
  87.   (base ice false)
  88.   )
  89.  
  90. (table unit-capacity-x
  91.   ;; Engineers can always be in any kind of facility.
  92.   (place-types engrs 2)
  93.   (cities engrs 16)
  94.   )
  95.  
  96. (table unit-storage-x
  97.   ;; Cities and towns always have some room for everything.
  98.   (city m* 100)
  99.   (town m* 10)
  100.   ;; Assume the food pipeline to everybody has about a month's
  101.   ;; supply in it somewhere.
  102.   (u* food 4)
  103.   (farm food 100)
  104.   (cities food 900)
  105.   (cities oil 400)
  106.   (u* petrol 10)
  107.   (cities petrol 400)
  108.   (engrs lumber 10)
  109.   (engrs steel 10)
  110.   (shipyard steel 100)
  111.   (fishing-fleet food 50)
  112.   (cargo-ship lumber 100)
  113.   (cargo-ship steel 100)
  114.   (oil-tanker oil 1000)
  115.   ;; Most units involve about 1,000 people, but towns and cities
  116.   ;; may get much larger.
  117.   (u* people 1)
  118.   (town people 200)
  119.   (city people 20000)
  120.   )
  121.  
  122. (add t* capacity 16)
  123.  
  124. (table unit-size-in-terrain
  125.   (u* t* 1)
  126.   ;; We can pack multiple facilities into a cell.
  127.   (farm t* 4)
  128.   (oil-field t* 4)
  129.   (refinery t* 4)
  130.   (town t* 4)
  131.   ;; A major city is so large that it fills the cell.
  132.   (city t* 16)
  133.   )
  134.  
  135. (table terrain-storage-x
  136.   (t* oil 100)
  137.   (t* iron-ore 100)
  138.   )
  139.  
  140. ;;; Actions.
  141.  
  142. (add engrs acp-per-turn 1)
  143. (add cities acp-per-turn 1)
  144.  
  145. ;;; Movement.
  146.  
  147. (add place-types speed 0)
  148.  
  149. ;;; Construction.
  150.  
  151. (add engrs cp 2)
  152. (add extraction-types cp 24)
  153. (add oil-platform cp 144)
  154. (add processing-types cp 48)
  155. (add manufacturing-types cp 96)
  156.  
  157. (table acp-to-create
  158.   (engrs extraction-types 1)
  159.   (engrs processing-types 1)
  160.   (engrs manufacturing-types 1)
  161.   (shipyard ship-types 1)
  162.   (cities engrs 1)
  163.   )
  164.  
  165. (table cp-on-creation
  166.   (engrs (farm oil-field oil-platform shipyard) 3)
  167.   )
  168.  
  169. (table create-range
  170.   (engrs oil-platform 1)
  171.   (city oil-field 2)
  172.   )
  173.  
  174. (table acp-to-build
  175.   (engrs extraction-types 1)
  176.   (engrs processing-types 1)
  177.   (engrs manufacturing-types 1)
  178.   (shipyard ship-types 1)
  179.   (cities engrs 1)
  180.   )
  181.  
  182. (table cp-per-build
  183.   (engrs (farm oil-field oil-platform shipyard) 3)
  184.   )
  185.  
  186. (table build-range
  187.   (city oil-field 2)
  188.   )
  189.  
  190. (table consumption-per-build
  191.   ;; Every kind of construction needs a small amount of lumber.
  192.   (extraction-types lumber 2)
  193.   (processing-types lumber 2)
  194.   (ship-types steel 1)
  195.   (extraction-types steel 2)
  196.   (processing-types steel 2)
  197.   )
  198.  
  199. ;;; Combat.
  200.  
  201. (add cities hp-max (5 25))
  202.  
  203. ;;; Terrain alteration.
  204.  
  205. (table acp-to-add-terrain
  206.   (engrs road 1)
  207.   )
  208.  
  209. (table acp-to-remove-terrain
  210.   (engrs road 1)
  211.   )
  212.  
  213. ;;; Backdrop.
  214.  
  215. ;; Automatic production.
  216.  
  217. (table base-production
  218.   ((fishing-fleet farm) food (50 50))
  219.   (coal-mine coal 100)
  220.   (sawmill lumber 10)
  221.   ((oil-field oil-platform city) oil (100 50 20))
  222.   ((refinery city) petrol (100 20))
  223.   (iron-mine iron-ore 100)
  224.   (steel-mill steel 100)
  225.   )
  226.  
  227. (table productivity
  228.   ;; Farms are less efficient in hostile terrain.
  229.   (farm (desert mountains) 10)
  230.   (farm forest 50)
  231.   ;; Sawmills can only operate at full capacity in forests and mountains.
  232.   (sawmill t* 0)
  233.   (sawmill (forest mountains) 100)
  234.   ;; Plains will have small patches of woods to exploit.
  235.   (sawmill plains 10)
  236.   )
  237.  
  238. (table base-consumption
  239.   (u* food 1)
  240.   ((town city) food (2 10))
  241.   (refinery oil 100)
  242.   (city oil 10)
  243.   ;; Everything in the modern world runs on petroleum products.
  244.   (u* petrol 1)
  245.   ((town city) petrol (2 10))
  246.   ;; Strictly speaking, steel mills use coke, but let's assume they
  247.   ;; always make their own coke.
  248.   (steel-mill coal 100)
  249.   (steel-mill iron-ore 100)
  250.   ;; Towns and cities need some steel for repairs and renovation.
  251.   (cities steel (1 5))
  252.   )
  253.  
  254. (table hp-per-starve
  255.   (u* food 1.00)
  256.   (u* petrol 0.02)
  257.   ;; Without repair materials, things slowly disintegrate.
  258.   (cities steel (0.02 0.10))
  259.   )
  260.  
  261. (table out-length
  262.   (u* food 4)
  263.   (coal-mine coal 4)
  264.   (cities coal 4)
  265.   ((oil-field oil-platform) oil 6)
  266.   (cities oil 6)
  267.   (refinery petrol 6)
  268.   (cities petrol 6)
  269.   (sawmill lumber 6)
  270.   (steel-mill steel 6)
  271.   )
  272.  
  273. (table in-length
  274.   (u* food 4)
  275.   (steel-mill coal 4)
  276.   (cities coal 4)
  277.   (oil-tanker oil 6)
  278.   (refinery oil 6)
  279.   (cities oil 6)
  280.   (u* petrol 6)
  281.   (engrs lumber 6)
  282.   (engrs steel 6)
  283.   )
  284.  
  285. ;;; Initial random setup.
  286.  
  287. (add city start-with 1)
  288. (add town start-with 5)
  289. (add farm start-with 10)
  290.  
  291. (set country-radius-min 3)
  292. (set country-separation-min 16)
  293. (set country-separation-max 48)
  294. ; Try to get countries on the coast.
  295. (add (sea plains) country-terrain-min (1 4))
  296.  
  297. (table favored-terrain
  298.   (u* t* 0)
  299.   (farm plains 100)
  300.   (cities plains 100)
  301.   (cities land-t* 20)
  302.   (cities plains 40)
  303.   )
  304.  
  305. (table independent-density (cities plains 100))
  306.  
  307. (add land-t* country-people-chance 90)
  308. (add plains country-people-chance 100)
  309.  
  310. (add land-t* independent-people-chance 50)
  311.  
  312. (table unit-initial-supply
  313.   (u* m* 9999)
  314.   (cities petrol 400)
  315.   (city people 2000)
  316.   )
  317.  
  318. (table terrain-initial-supply
  319.   (t* oil 10d100)
  320.   )
  321.  
  322. ;; Allow from 1 to many sides to play.
  323.  
  324. (set sides-min 1)
  325.  
  326. (game-module (design-notes (
  327.   "A detailed game of modern problems."
  328.   "Scale is 1 week/turn, 50km/cell."
  329.   ""
  330.   "Although this is a lot like the net empire games, it does not
  331.    need to emulate them."
  332.   "(should have a many-nukes-available option)"
  333.   )))
  334.